草庐IT

c++ tcp多线程

全部标签

java - ruby 线程编程,ruby 相当于 java wait/notify/notifyAll

我想知道ruby​​有哪些方法可以替代Java方法:等待通知通知所有人您能否发布一个小片段或一些链接? 最佳答案 你要找的是Thread中的ConditionVariable:require"thread"m=Mutex.newc=ConditionVariable.newt=[]t 关于java-ruby线程编程,ruby相当于javawait/notify/notifyAll,我们在StackOverflow上找到一个类似的问题: https://stac

java对象序列化 - 线程安全?

我正在编写高度并发的应用程序,它广泛修改MyClass的对象。该类由几个字段组成。我的问题是如何防止在另一个线程序列化期间修改特定对象?问候,马特 最佳答案 通过synchronizing序列化和修改对象状态的方法。 关于java对象序列化-线程安全?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4003741/

java - 如何确定硬件线程数

什么是硬件线程。它总是使可用的处理器内核数量增加一倍吗?如何确定IntelCore2Duo处理器中的硬件线程数?能否通过Java代码判断? 最佳答案 Whatismeantbyahardwarethread.你告诉我们。这不是一个真正的既定术语。Isitalwaysdoublethenumberofprocessorcoresavailable?啊,现在你好像在说hyperthreading其中一个CPU核心内的部分冗余被用来“伪造”一个额外的核心。Howtodeterminethenumberofhardwarethreadsin

java - 如何在没有同步方法的情况下从不同的线程安全地刷新缓冲区?

有多个线程,比如B、C和D,每个线程都以高频率将小数据包写入缓冲区。他们拥有自己的缓冲区,没有其他人可以写入它。写作必须尽可能快,我已经确定使用synchronized会使它慢得令人无法接受。缓冲区只是字节数组,以及第一个空闲元素的索引:byte[]buffer;intindex;publicvoidwrite(byte[]data){//somecheckingthatthebufferwon'toverflow...notimportantnowSystem.arraycopy(data,0,buffer,index,data.length);index+=data.length;

java - 当一个线程完成后,如何通知主线程?

我使用FTP原始命令将文件上传到FTP服务器,我在代码中启动了一个新线程通过套接字发送文件。当新启动的线程完成发送文件时,我想向控制台输出一些消息,如何确保线程已完成工作?这是我的代码:TinyFTPClientftp=newTinyFTPClient(host,port,user,pswd);ftp.execute("TYPEA");StringpasvReturn=ftp.execute("PASV");StringpasvHost=TinyFTPClient.parseAddress(pasvReturn);intpasvPort=TinyFTPClient.parsePort(

具有四核处理器的笔记本电脑中的 Java 多线程

我正在阅读Java教程,其中提到实际的多线程不会发生在具有单个处理器的机器中。它提到操作系统为Java进程分配指定的时间量,而JVM线程调度程序选择线程一次运行一个线程一小段时间。我有一台采用四核处理器的笔记本电脑-是否可以通过在每个内核中运行一个线程来以编程方式更快地运行多线程程序?之所以问这个问题,是因为书中提到只有真正的多处理器系统才能同时做多件事。 最佳答案 即使是单个CPU也可以在松散意义上“同时做多件事”,但它们并不是真正意义上的并行。您可以启动100个线程在单个内核上运行,它们将获得时间片,在此期间每个线程都可以运行几

java - 毕竟 log4j 不是线程安全的吗?

(这是在SLES11、Java7、Tomcat6、log4j-1.2.16上)我们使用log4j将不同的内容写入不同的日志文件。我继承了这段代码,所以无论好坏,通用结构都暂时保留在这里。记录器将创建两个日志文件:main.log和stats.log。特定的统计消息通过单独的调用记录到两个记录器(您将在下面看到),并且一大堆其他内容记录到主日志。因此,在我们的所有代码中,您会看到类似Log.logMain(someMessageToLog);的内容。在我们的代码(由多个线程执行)的一个地方有以下内容:StringstatsMessage=createStatsMessage();Log.

java - Servlet : Singleton, 单线程或多实例多线程

这个问题之前有人问过,也讨论过,但我想再问一下。Servlet是否是单例?根据我的说法,它们仅由容器初始化,但它们仍然不是单例??为什么??Servlets是单线程还是多线程(忘记javax.servlet.SingleThreadModel类)即当对单个servlet有多个请求时会发生什么?如果它们同时执行,那就意味着它是多线程的??如果它是多线程的,那么每个线程都会有一个servlet实例,这与第一点矛盾!!我认为,每当有新请求时,容器都会为传入的请求创建一个新线程,比如Req1,因为它会调用或分派(dispatch)控件到servlet的服务方法。现在这个执行是同时发生的……我猜

java - 如何调度 Java 线程

我读到Java线程是用户级线程,用户级线程和内核级线程之间的区别之一是内核级线程由内核调度(我们无法更改它),而对于用户级线程,我们可以定义自己的调度算法。那么我们如何在Java中调度线程呢?在任何给定时间,当多个线程准备好执行时,运行时系统会选择具有最高优先级的Runnable线程执行。如果两个优先级相同的线程正在等待CPU,调度程序会选择其中一个以循环方式运行。如果我不想要RR怎么办?有什么办法可以改变它,还是我在这里遗漏了什么? 最佳答案 您不能更改JVM的调度算法,这超出了范围。JVM使用底层操作系统提供的用户线程的线程。因

java - 什么时候/为什么我应该在 Java 中使用多线程?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion我不知道什么时候应该在Java开发中使用多线程,以及使用它的逻辑/原因。它在不同情况下有何帮助?场景一我正在制作一个带有敌人的2D滚动游戏等等,想想金属弹头场景2我正在制作一个数据库守护进程来检查多个数据库内容。场景3我正在为JSP制作一个servlet,其中包含从数据库中获取的一些信息。请随意编辑场景以使其变得更好。另外:我应该为游戏服务器使用多线程吗?或者我不应该?